[INFO] cloning repository https://github.com/schema-substrate/solido
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/schema-substrate/solido" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fschema-substrate%2Fsolido", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fschema-substrate%2Fsolido'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 0b97d0fcaa578392f6016b525a0590112380f943
[INFO] checking schema-substrate/solido against try#a611f2a14e38407ec6717a86a01424ee6fc80762 for pr-154992
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fschema-substrate%2Fsolido" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-2-tc2/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-2-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/schema-substrate/solido
[INFO] finished tweaking git repo https://github.com/schema-substrate/solido
[INFO] tweaked toml for git repo https://github.com/schema-substrate/solido written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/schema-substrate/solido on toolchain a611f2a14e38407ec6717a86a01424ee6fc80762
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a611f2a14e38407ec6717a86a01424ee6fc80762" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/schema-substrate/solido already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a611f2a14e38407ec6717a86a01424ee6fc80762" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+a611f2a14e38407ec6717a86a01424ee6fc80762" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 73c56eca00440b2ce0637ecc7f629acdb8afecef10875e8498cdaff988a90db6
[INFO] running `Command { std: "docker" "start" "-a" "73c56eca00440b2ce0637ecc7f629acdb8afecef10875e8498cdaff988a90db6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "73c56eca00440b2ce0637ecc7f629acdb8afecef10875e8498cdaff988a90db6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "73c56eca00440b2ce0637ecc7f629acdb8afecef10875e8498cdaff988a90db6", kill_on_drop: false }`
[INFO] [stdout] 73c56eca00440b2ce0637ecc7f629acdb8afecef10875e8498cdaff988a90db6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+a611f2a14e38407ec6717a86a01424ee6fc80762" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e491fd926661f0867e4a09c327ccd7bce027841007ffa8aeb612604232fed9f1
[INFO] running `Command { std: "docker" "start" "-a" "e491fd926661f0867e4a09c327ccd7bce027841007ffa8aeb612604232fed9f1", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling wayland-sys v0.31.8
[INFO] [stderr]    Compiling toml_parser v1.0.9+spec-1.1.0
[INFO] [stderr]     Checking futures-io v0.3.32
[INFO] [stderr]     Checking event-listener v5.4.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking futures-lite v2.6.1
[INFO] [stderr]     Checking event-listener-strategy v0.5.4
[INFO] [stderr]     Checking form_urlencoded v1.2.2
[INFO] [stderr]    Compiling endi v1.1.1
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling async-io v2.6.0
[INFO] [stderr]     Checking syn v2.0.117
[INFO] [stderr]    Compiling toml_edit v0.23.10+spec-1.0.0
[INFO] [stderr]     Checking async-channel v2.5.0
[INFO] [stderr]     Checking piper v0.2.4
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking async-lock v3.4.2
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking blocking v1.6.2
[INFO] [stderr]     Checking ttf-parser v0.25.1
[INFO] [stderr]     Checking async-executor v1.14.0
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking async-broadcast v0.7.2
[INFO] [stderr]     Checking uuid v1.21.0
[INFO] [stderr]    Compiling proc-macro-crate v3.4.0
[INFO] [stderr]     Checking ordered-stream v0.2.0
[INFO] [stderr]     Checking ab_glyph_rasterizer v0.1.10
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]     Checking profiling v1.0.17
[INFO] [stderr]     Checking linux-raw-sys v0.4.15
[INFO] [stderr]     Checking memmap2 v0.9.10
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]     Checking accesskit v0.21.1
[INFO] [stderr]    Compiling xml-rs v0.8.28
[INFO] [stderr]    Compiling clang-sys v1.8.1
[INFO] [stderr]     Checking simd-adler32 v0.3.8
[INFO] [stderr]     Checking strict-num v0.1.1
[INFO] [stderr]    Compiling smithay-client-toolkit v0.19.2
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]     Checking owned_ttf_parser v0.25.1
[INFO] [stderr]    Compiling regex-syntax v0.8.9
[INFO] [stderr]     Checking ab_glyph v0.2.32
[INFO] [stderr]     Checking x11rb-protocol v0.13.2
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking indexmap v2.13.0
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]     Checking polling v3.11.0
[INFO] [stderr]     Checking wayland-backend v0.3.12
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]     Checking async-signal v0.2.13
[INFO] [stderr]     Checking async-process v2.5.0
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]     Checking gethostname v1.1.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]     Checking bit-set v0.8.0
[INFO] [stderr]    Compiling libloading v0.8.9
[INFO] [stderr]    Compiling wgpu-hal v27.0.4
[INFO] [stderr]    Compiling winit v0.30.12
[INFO] [stderr]     Checking gpu-descriptor-types v0.2.0
[INFO] [stderr]     Checking spirv v0.3.0+sdk-1.3.268.0
[INFO] [stderr]     Checking gpu-alloc-types v0.3.0
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]     Checking epaint_default_fonts v0.33.3
[INFO] [stderr]    Compiling bindgen v0.72.1
[INFO] [stderr]     Checking nohash-hasher v0.2.0
[INFO] [stderr]     Checking glow v0.16.0
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]     Checking gpu-alloc v0.6.0
[INFO] [stderr]    Compiling cexpr v0.6.0
[INFO] [stderr]     Checking gpu-descriptor v0.3.2
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerocopy-derive v0.8.39
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]    Compiling enumflags2_derive v0.7.12
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking zerocopy v0.8.39
[INFO] [stderr]     Checking symphonia-core v0.5.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]    Compiling quick-xml v0.38.4
[INFO] [stderr]    Compiling zvariant_utils v3.3.0
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]    Compiling enumflags2 v0.7.12
[INFO] [stderr]    Compiling zvariant_derive v5.9.2
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking symphonia-metadata v0.5.5
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking emath v0.33.3
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]    Compiling zvariant v5.9.2
[INFO] [stderr]     Checking ecolor v0.33.3
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]    Compiling wayland-scanner v0.31.8
[INFO] [stderr]     Checking symphonia-utils-xiph v0.5.5
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]     Checking wgpu-types v27.0.1
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking epaint v0.33.3
[INFO] [stderr]     Checking naga v27.0.3
[INFO] [stderr]     Checking wayland-client v0.31.12
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]     Checking x11rb v0.13.2
[INFO] [stderr]     Checking zbus_names v4.3.1
[INFO] [stderr]     Checking khronos-egl v6.0.0
[INFO] [stderr]     Checking zbus_xml v5.1.0
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]     Checking ordered-float v5.1.0
[INFO] [stderr]     Checking wayland-protocols v0.32.10
[INFO] [stderr]     Checking wayland-cursor v0.31.12
[INFO] [stderr]     Checking zbus-lockstep v0.5.2
[INFO] [stderr]    Compiling zbus_macros v5.13.2
[INFO] [stderr]     Checking calloop-wayland-source v0.3.0
[INFO] [stderr]    Compiling rustc-hash v2.1.1
[INFO] [stderr]     Checking dpi v0.1.2
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]     Checking renderdoc-sys v1.1.0
[INFO] [stderr]     Checking egui v0.33.3
[INFO] [stderr]     Checking calloop v0.14.4
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling glutin_egl_sys v0.7.1
[INFO] [stderr]    Compiling zbus-lockstep-macros v0.5.2
[INFO] [stderr]    Compiling glutin_glx_sys v0.6.1
[INFO] [stderr]     Checking accesskit_consumer v0.31.0
[INFO] [stderr]     Checking pxfm v0.1.27
[INFO] [stderr]    Compiling wgpu-core v27.0.3
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling smithay-client-toolkit v0.20.0
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]     Checking calloop-wayland-source v0.4.1
[INFO] [stderr]     Checking png v0.18.1
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking zbus v5.13.2
[INFO] [stderr]    Compiling wgpu v27.0.1
[INFO] [stderr]    Compiling glutin v0.32.3
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking byteorder-lite v0.1.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking moxcms v0.7.11
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.10
[INFO] [stderr]     Checking wayland-protocols-plasma v0.3.10
[INFO] [stderr]     Checking wayland-protocols-experimental v20250721.0.1
[INFO] [stderr]     Checking wayland-protocols-misc v0.3.10
[INFO] [stderr]    Compiling glutin-winit v0.5.0
[INFO] [stderr]     Checking sctk-adwaita v0.10.1
[INFO] [stderr]     Checking extended v0.1.0
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]    Compiling ffmpeg-sys-next v8.1.0
[INFO] [stderr]     Checking type-map v0.5.1
[INFO] [stderr]     Checking symphonia-format-riff v0.5.5
[INFO] [stderr]     Checking pin-project v1.1.10
[INFO] [stderr]     Checking generic-array v1.3.5
[INFO] [stderr]     Checking smithay-clipboard v0.7.3
[INFO] [stderr]     Checking alsa v0.9.1
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking image v0.25.9
[INFO] [stderr]     Checking symphonia-codec-vorbis v0.5.5
[INFO] [stderr]     Checking atspi-common v0.9.0
[INFO] [stderr]     Checking symphonia-format-isomp4 v0.5.5
[INFO] [stderr]     Checking symphonia-bundle-flac v0.5.5
[INFO] [stderr]     Checking symphonia-format-mkv v0.5.5
[INFO] [stderr]     Checking symphonia-format-ogg v0.5.5
[INFO] [stderr]     Checking webbrowser v1.1.0
[INFO] [stderr]     Checking symphonia-format-caf v0.5.5
[INFO] [stderr]     Checking symphonia-bundle-mp3 v0.5.5
[INFO] [stderr]     Checking wgpu-core-deps-windows-linux-android v27.0.0
[INFO] [stderr]     Checking symphonia-codec-alac v0.5.5
[INFO] [stderr]     Checking symphonia-codec-pcm v0.5.5
[INFO] [stderr]     Checking symphonia-codec-aac v0.5.5
[INFO] [stderr]     Checking symphonia-codec-adpcm v0.5.5
[INFO] [stderr]     Checking safe_arch v0.7.4
[INFO] [stderr]     Checking async-net v2.0.0
[INFO] [stderr]     Checking async-fs v2.2.0
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking glam v0.28.0
[INFO] [stderr]     Checking pollster v0.4.0
[INFO] [stderr]     Checking arboard v3.6.1
[INFO] [stderr]    Compiling ffmpeg-next v8.1.0
[INFO] [stderr]     Checking dyn-clone v1.0.20
[INFO] [stderr]    Compiling rfd v0.15.4
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]     Checking anstream v0.6.21
[INFO] [stderr]     Checking ashpd v0.11.1
[INFO] [stderr]     Checking microfft v0.6.0
[INFO] [stderr]     Checking wide v0.7.33
[INFO] [stderr]     Checking symphonia v0.5.5
[INFO] [stderr]     Checking egui_glow v0.33.3
[INFO] [stderr]     Checking numeric-array v0.6.1
[INFO] [stderr]     Checking env_filter v1.0.0
[INFO] [stderr]     Checking thingbuf v0.1.6
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking urlencoding v2.1.3
[INFO] [stderr]    Compiling solido v1.0.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking jiff v0.2.20
[INFO] [stderr]     Checking atspi-proxies v0.9.0
[INFO] [stderr]     Checking accesskit_atspi_common v0.14.2
[INFO] [stderr]     Checking midly v0.5.3
[INFO] [stderr]     Checking cpal v0.15.3
[INFO] [stderr]     Checking funutd v0.16.0
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking fundsp v0.19.1
[INFO] [stderr]     Checking midir v0.10.3
[INFO] [stderr]     Checking egui-phosphor v0.11.0
[INFO] [stderr]     Checking rand_xoshiro v0.6.0
[INFO] [stderr]     Checking atspi-connection v0.9.0
[INFO] [stderr]     Checking png v0.17.16
[INFO] [stderr]     Checking ringbuf v0.4.8
[INFO] [stderr]     Checking atspi v0.25.0
[INFO] [stderr]     Checking accesskit_unix v0.17.2
[INFO] [stderr]     Checking env_logger v0.11.9
[INFO] [stderr]     Checking egui-wgpu v0.33.3
[INFO] [stderr]     Checking accesskit_winit v0.29.2
[INFO] [stderr]     Checking egui-winit v0.33.3
[INFO] [stderr]     Checking eframe v0.33.3
[INFO] [stdout] warning: unused import: `crate::tuning::gravity_well`
[INFO] [stdout]   --> src/organism/registry.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::tuning::gravity_well;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::module::ModuleId`
[INFO] [stdout]  --> src/ui/panels/video_panel.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::module::ModuleId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::audio::mixer_state::MixerState`
[INFO] [stdout]   --> src/app_audio.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::audio::mixer_state::MixerState;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::module::channel::Receiver`
[INFO] [stdout]   --> src/app_audio.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::module::channel::Receiver;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OrganismPanelState`
[INFO] [stdout]   --> src/app_audio.rs:21:66
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::ui::panels::organism_panel::{CellUiState, KillAction, OrganismPanelState, OrganismUiState};
[INFO] [stdout]    |                                                                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `egui::Rounding`: Renamed to CornerRadius
[INFO] [stdout]    --> src/ui/panels/taxonomy_panel.rs:114:15
[INFO] [stdout]     |
[INFO] [stdout] 114 |         egui::Rounding::ZERO,
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `egui::Rounding`: Renamed to CornerRadius
[INFO] [stdout]    --> src/ui/panels/taxonomy_panel.rs:123:15
[INFO] [stdout]     |
[INFO] [stdout] 123 |         egui::Rounding::ZERO,
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `egui::Rounding`: Renamed to CornerRadius
[INFO] [stdout]    --> src/ui/panels/taxonomy_panel.rs:132:15
[INFO] [stdout]     |
[INFO] [stdout] 132 |         egui::Rounding::ZERO,
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `egui::Rounding`: Renamed to CornerRadius
[INFO] [stdout]    --> src/ui/panels/taxonomy_panel.rs:141:15
[INFO] [stdout]     |
[INFO] [stdout] 141 |         egui::Rounding::ZERO,
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `egui::Rounding`: Renamed to CornerRadius
[INFO] [stdout]    --> src/ui/panels/taxonomy_panel.rs:150:15
[INFO] [stdout]     |
[INFO] [stdout] 150 |         egui::Rounding::ZERO,
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `egui::Rounding`: Renamed to CornerRadius
[INFO] [stdout]    --> src/ui/panels/taxonomy_panel.rs:200:23
[INFO] [stdout]     |
[INFO] [stdout] 200 |                 egui::Rounding {
[INFO] [stdout]     |                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `egui::Rounding`: Renamed to CornerRadius
[INFO] [stdout]    --> src/ui/panels/taxonomy_panel.rs:212:23
[INFO] [stdout]     |
[INFO] [stdout] 212 |                 egui::Rounding::ZERO,
[INFO] [stdout]     |                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tuning::gravity_well`
[INFO] [stdout]   --> src/organism/registry.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::tuning::gravity_well;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::module::ModuleId`
[INFO] [stdout]  --> src/ui/panels/video_panel.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::module::ModuleId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::audio::mixer_state::MixerState`
[INFO] [stdout]   --> src/app_audio.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::audio::mixer_state::MixerState;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::module::channel::Receiver`
[INFO] [stdout]   --> src/app_audio.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::module::channel::Receiver;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OrganismPanelState`
[INFO] [stdout]   --> src/app_audio.rs:21:66
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::ui::panels::organism_panel::{CellUiState, KillAction, OrganismPanelState, OrganismUiState};
[INFO] [stdout]    |                                                                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `egui::Rounding`: Renamed to CornerRadius
[INFO] [stdout]    --> src/ui/panels/taxonomy_panel.rs:114:15
[INFO] [stdout]     |
[INFO] [stdout] 114 |         egui::Rounding::ZERO,
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `egui::Rounding`: Renamed to CornerRadius
[INFO] [stdout]    --> src/ui/panels/taxonomy_panel.rs:123:15
[INFO] [stdout]     |
[INFO] [stdout] 123 |         egui::Rounding::ZERO,
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `egui::Rounding`: Renamed to CornerRadius
[INFO] [stdout]    --> src/ui/panels/taxonomy_panel.rs:132:15
[INFO] [stdout]     |
[INFO] [stdout] 132 |         egui::Rounding::ZERO,
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `egui::Rounding`: Renamed to CornerRadius
[INFO] [stdout]    --> src/ui/panels/taxonomy_panel.rs:141:15
[INFO] [stdout]     |
[INFO] [stdout] 141 |         egui::Rounding::ZERO,
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `egui::Rounding`: Renamed to CornerRadius
[INFO] [stdout]    --> src/ui/panels/taxonomy_panel.rs:150:15
[INFO] [stdout]     |
[INFO] [stdout] 150 |         egui::Rounding::ZERO,
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `egui::Rounding`: Renamed to CornerRadius
[INFO] [stdout]    --> src/ui/panels/taxonomy_panel.rs:200:23
[INFO] [stdout]     |
[INFO] [stdout] 200 |                 egui::Rounding {
[INFO] [stdout]     |                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `egui::Rounding`: Renamed to CornerRadius
[INFO] [stdout]    --> src/ui/panels/taxonomy_panel.rs:212:23
[INFO] [stdout]     |
[INFO] [stdout] 212 |                 egui::Rounding::ZERO,
[INFO] [stdout]     |                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `egui::Button::<'a>::rounding`: Renamed to `corner_radius`
[INFO] [stdout]    --> src/ui/panels/controls.rs:160:30
[INFO] [stdout]     |
[INFO] [stdout] 160 | ...                   .rounding(10.0)
[INFO] [stdout]     |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `egui::Button::<'a>::rounding`: Renamed to `corner_radius`
[INFO] [stdout]    --> src/ui/panels/controls.rs:206:26
[INFO] [stdout]     |
[INFO] [stdout] 206 |                         .rounding(10.0)
[INFO] [stdout]     |                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `egui::Context::screen_rect`: screen_rect has been split into viewport_rect() and content_rect(). You likely should use content_rect()
[INFO] [stdout]    --> src/app_video.rs:144:26
[INFO] [stdout]     |
[INFO] [stdout] 144 |         let screen = ctx.screen_rect();
[INFO] [stdout]     |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_scale_name`
[INFO] [stdout]   --> src/ui/panels/controls.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let (current_scale_name, current_scale_idx, scale_weights, scale_hue, scale_groups_data) = {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_scale_name`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_name_len`
[INFO] [stdout]    --> src/ui/panels/taxonomy_panel.rs:313:25
[INFO] [stdout]     |
[INFO] [stdout] 313 |                     let max_name_len = data
[INFO] [stdout]     |                         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_name_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `radius`
[INFO] [stdout]    --> src/ui/widgets/circle_of_fifths.rs:231:46
[INFO] [stdout]     |
[INFO] [stdout] 231 | fn recover_pc_from_point(center: egui::Pos2, radius: f32, pt: egui::Pos2) -> u8 {
[INFO] [stdout]     |                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_radius`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mc20_panel_ref`
[INFO] [stdout]     --> src/app.rs:1092:41
[INFO] [stdout]      |
[INFO] [stdout] 1092 |             let (midi_port, midi_armed, mc20_panel_ref, cc_learn_ref) = {
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mc20_panel_ref`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cc_learn_ref`
[INFO] [stdout]     --> src/app.rs:1092:57
[INFO] [stdout]      |
[INFO] [stdout] 1092 |             let (midi_port, midi_armed, mc20_panel_ref, cc_learn_ref) = {
[INFO] [stdout]      |                                                         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cc_learn_ref`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cr_state` and `cr_phrase_len` are never read
[INFO] [stdout]   --> src/module/command.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub struct DspAnalysis {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub cr_state: u8,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 87 |     /// Number of notes in captured call-response phrase
[INFO] [stdout] 88 |     pub cr_phrase_len: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DspAnalysis` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NODE_REGEN_RATE` is never used
[INFO] [stdout]   --> src/organism/chladni.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const NODE_REGEN_RATE: f32 = 0.015;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `satisfaction` and `current_logic_density` are never used
[INFO] [stdout]    --> src/organism/module/mod.rs:368:12
[INFO] [stdout]     |
[INFO] [stdout] 125 | impl OrganismModule {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 368 |     pub fn satisfaction(&self) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 393 |     pub fn current_logic_density(&self) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `rhythm_sync_mode` is never read
[INFO] [stdout]   --> src/organism/module/context.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct MusicalContext {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub rhythm_sync_mode: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MusicalContext` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `tick_dual_root` is never used
[INFO] [stdout]    --> src/organism/registry.rs:257:12
[INFO] [stdout]     |
[INFO] [stdout]  72 | impl OrganismRegistry {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 257 |     pub fn tick_dual_root(&mut self, _dt: f32, _well_positions: &[(u8, [f32; 2])]) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/reactor/mod.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct SignalEvent {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 55 |     pub tick: u64,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 56 |     pub src_module: ModuleId,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 57 |     pub src_port: PortId,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 58 |     pub dst_module: ModuleId,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 59 |     pub dst_port: PortId,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 60 |     pub signal_type: SignalType,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 61 |     pub value_str: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SignalEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get`, `len`, `keys`, and `organism_params` are never used
[INFO] [stdout]   --> src/param_registry.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl ParamRegistry {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn get(&self, key: &str) -> Option<&Shared> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn keys(&self) -> impl Iterator<Item = &String> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn organism_params(&self, org_id: u32) -> Option<&[String]> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DETUNE_TOLERANCE` is never used
[INFO] [stdout]   --> src/tuning/harmony.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | const DETUNE_TOLERANCE: f32 = 30.0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROOT_BLEND` is never used
[INFO] [stdout]   --> src/tuning/harmony.rs:21:7
[INFO] [stdout]    |
[INFO] [stdout] 21 | const ROOT_BLEND: f32 = 0.3;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LIVE_BLEND` is never used
[INFO] [stdout]   --> src/tuning/harmony.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const LIVE_BLEND: f32 = 0.7;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TENNEY_CONSONANCE` is never used
[INFO] [stdout]   --> src/tuning/harmony.rs:32:7
[INFO] [stdout]    |
[INFO] [stdout] 32 | const TENNEY_CONSONANCE: [f32; 12] = [
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `JI_INTERVALS` is never used
[INFO] [stdout]   --> src/tuning/harmony.rs:49:7
[INFO] [stdout]    |
[INFO] [stdout] 49 | const JI_INTERVALS: [(f32, f32); 12] = [
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HarmonicPair` is never constructed
[INFO] [stdout]   --> src/tuning/harmony.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct HarmonicPair {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tenney_consonance_interval` is never used
[INFO] [stdout]   --> src/tuning/harmony.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub fn tenney_consonance_interval(interval: u8) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tenney_consonance_hz` is never used
[INFO] [stdout]   --> src/tuning/harmony.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub fn tenney_consonance_hz(hz_a: f32, hz_b: f32) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_harmonic_pair` is never used
[INFO] [stdout]    --> src/tuning/harmony.rs:131:8
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub fn compute_harmonic_pair(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `all` and `index_of` are never used
[INFO] [stdout]    --> src/tuning/scale.rs:161:12
[INFO] [stdout]     |
[INFO] [stdout]  24 | impl ScaleRegistry {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn all(&self) -> &[ScaleMode] {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |     pub fn index_of(&self, name: &str) -> Option<usize> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `available_ports` is never read
[INFO] [stdout]    --> src/audio/midi_bus.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub struct MidiBus {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 113 |     available_ports: Vec<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `available_ports` and `refresh_ports` are never used
[INFO] [stdout]    --> src/audio/midi_bus.rs:190:12
[INFO] [stdout]     |
[INFO] [stdout] 118 | impl MidiBus {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 190 |     pub fn available_ports(&self) -> &[String] {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub fn refresh_ports(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `cancel_learn`, `unlearn_by_target`, and `unlearn_by_cc` are never used
[INFO] [stdout]    --> src/audio/midi_bus.rs:253:12
[INFO] [stdout]     |
[INFO] [stdout] 235 | impl CcLearnState {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 253 |     pub fn cancel_learn(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 291 |     pub fn unlearn_by_target(&mut self, target: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 296 |     pub fn unlearn_by_cc(&mut self, cc: u8) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_any_mut` is never used
[INFO] [stdout]   --> src/dsp/cell/mod.rs:80:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub trait DspCell: Send {
[INFO] [stdout]    |           ------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 80 |     fn as_any_mut(&mut self) -> &mut dyn Any;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cached_rotation` is never read
[INFO] [stdout]    --> src/dsp/cell/logic_seq_cell.rs:193:5
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub struct LogicSeqCell {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 193 |     cached_rotation: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_empty` and `len` are never used
[INFO] [stdout]   --> src/dsp/cell/sample_cell.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 54 | impl SampleData {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 62 |     fn is_empty(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     fn len(&self) -> usize {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `logic_seq_cell_idx` is never read
[INFO] [stdout]   --> src/dsp/organism_dsp.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct OrganismDsp {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 54 |     logic_seq_cell_idx: Option<usize>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/dsp/phrase_bank.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct PhraseData {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 28 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PhraseData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get` is never used
[INFO] [stdout]   --> src/samples/mod.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl SampleRegistry {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn get(&self, uri: &str) -> Option<Arc<Vec<f32>>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `dominant_pc`, `pitch_diversity`, and `rhythm_energy` are never read
[INFO] [stdout]   --> src/substrate/energy_grid.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct LocalSight {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub dominant_pc: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 46 |     pub pitch_diversity: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 47 |     pub rhythm_energy: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `sample_rgb` and `energy_gradient` are never used
[INFO] [stdout]    --> src/substrate/energy_grid.rs:191:12
[INFO] [stdout]     |
[INFO] [stdout]  65 | impl SubstrateGrid {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 191 |     pub fn sample_rgb(&self, x: f32, y: f32) -> [f32; 3] {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 |     pub fn energy_gradient(&self, x: f32, y: f32) -> [f32; 2] {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `frame_number` is never read
[INFO] [stdout]   --> src/substrate/video.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct FrameBuffer {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub frame_number: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `path` is never read
[INFO] [stdout]   --> src/substrate/video.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct VideoDecoder {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub path: PathBuf,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_none` is never used
[INFO] [stdout]    --> src/modules/raga_module.rs:217:12
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl RagaModule {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 217 |     pub fn is_none(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `scale_list` is never used
[INFO] [stdout]    --> src/modules/scale_module.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl ScaleModule {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn scale_list(&self) -> Vec<&str> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `taxonomy_panel` is never read
[INFO] [stdout]   --> src/ui/mod.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub struct WorkspaceState {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub taxonomy_panel: panels::taxonomy_panel::TaxonomyPanelState,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `shape_id` is never read
[INFO] [stdout]   --> src/ui/panels/organism_panel.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct OrganismUiState {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub shape_id: u32,         // 0=circle 1=diamond 2=triangle
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tala_id` is never read
[INFO] [stdout]   --> src/ui/panels/controls.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct ControlPanelIds {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 10 |     pub raga_id: ModuleId,
[INFO] [stdout] 11 |     pub tala_id: ModuleId,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ToggleCrListening` is never constructed
[INFO] [stdout]   --> src/ui/panels/mc20.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum Mc20Action {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 23 |     ToggleCrListening(ModuleId),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NQI_COLOR` is never used
[INFO] [stdout]   --> src/ui/panels/taxonomy_panel.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | const NQI_COLOR: egui::Color32 = egui::Color32::from_rgb(0, 200, 220);   // 水 cyan
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SM_COLOR` is never used
[INFO] [stdout]   --> src/ui/panels/taxonomy_panel.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const SM_COLOR: egui::Color32 = egui::Color32::from_rgb(200, 80, 200);   // 土 magenta
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TBA_COLOR` is never used
[INFO] [stdout]   --> src/ui/panels/taxonomy_panel.rs:20:7
[INFO] [stdout]    |
[INFO] [stdout] 20 | const TBA_COLOR: egui::Color32 = egui::Color32::from_rgb(220, 200, 40);  // 木 yellow
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AIR_COLOR` is never used
[INFO] [stdout]   --> src/ui/panels/taxonomy_panel.rs:21:7
[INFO] [stdout]    |
[INFO] [stdout] 21 | const AIR_COLOR: egui::Color32 = egui::Color32::from_rgb(60, 200, 120);  // 火 green
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RDE_COLOR` is never used
[INFO] [stdout]   --> src/ui/panels/taxonomy_panel.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const RDE_COLOR: egui::Color32 = egui::Color32::from_rgb(180, 180, 190); // 金 white/silver
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BG` is never used
[INFO] [stdout]   --> src/ui/panels/taxonomy_panel.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | const BG: egui::Color32 = egui::Color32::from_rgb(10, 10, 16);
[INFO] [stdout]    |       ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LCARS_GOLD` is never used
[INFO] [stdout]   --> src/ui/panels/taxonomy_panel.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const LCARS_GOLD: egui::Color32 = egui::Color32::from_rgb(255, 200, 60);
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LCARS_BLUE` is never used
[INFO] [stdout]   --> src/ui/panels/taxonomy_panel.rs:25:7
[INFO] [stdout]    |
[INFO] [stdout] 25 | const LCARS_BLUE: egui::Color32 = egui::Color32::from_rgb(100, 140, 220);
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LCARS_PEACH` is never used
[INFO] [stdout]   --> src/ui/panels/taxonomy_panel.rs:26:7
[INFO] [stdout]    |
[INFO] [stdout] 26 | const LCARS_PEACH: egui::Color32 = egui::Color32::from_rgb(255, 160, 100);
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIM` is never used
[INFO] [stdout]   --> src/ui/panels/taxonomy_panel.rs:27:7
[INFO] [stdout]    |
[INFO] [stdout] 27 | const DIM: egui::Color32 = egui::Color32::from_rgb(100, 100, 110);
[INFO] [stdout]    |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `primitive_color` is never used
[INFO] [stdout]   --> src/ui/panels/taxonomy_panel.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn primitive_color(prim: &str) -> egui::Color32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `primitive_element` is never used
[INFO] [stdout]   --> src/ui/panels/taxonomy_panel.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn primitive_element(prim: &str) -> &'static str {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `primitive_label` is never used
[INFO] [stdout]   --> src/ui/panels/taxonomy_panel.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn primitive_label(prim: &str) -> &'static str {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `primary`, `dimensions`, and `value` are never read
[INFO] [stdout]   --> src/ui/panels/taxonomy_panel.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct ClassifiedField {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 67 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 68 |     pub primary: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 69 |     pub dimensions: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 70 |     pub value: Option<String>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ClassifiedField` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/ui/panels/taxonomy_panel.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub struct TaxonomyData {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 76 |     pub source: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 77 |     pub fields: Vec<ClassifiedField>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 78 |     pub distribution: HashMap<String, usize>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 79 |     pub organism_name: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 80 |     pub organism_species: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 81 |     pub organism_cells: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 82 |     pub organism_wiring: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TaxonomyData` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `data` and `scroll_offset` are never read
[INFO] [stdout]   --> src/ui/panels/taxonomy_panel.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct TaxonomyPanelState {
[INFO] [stdout]    |            ------------------ fields in this struct
[INFO] [stdout] 87 |     pub data: Option<TaxonomyData>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 88 |     pub scroll_offset: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_lcars_bracket` is never used
[INFO] [stdout]    --> src/ui/panels/taxonomy_panel.rs:103:4
[INFO] [stdout]     |
[INFO] [stdout] 103 | fn draw_lcars_bracket(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `show_taxonomy_panel` is never used
[INFO] [stdout]    --> src/ui/panels/taxonomy_panel.rs:158:8
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub fn show_taxonomy_panel(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_from_json` is never used
[INFO] [stdout]    --> src/ui/panels/taxonomy_panel.rs:461:8
[INFO] [stdout]     |
[INFO] [stdout] 461 | pub fn load_from_json(json: &str) -> Option<TaxonomyData> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RotaryDial` is never constructed
[INFO] [stdout]  --> src/ui/widgets/rotary_dial.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct RotaryDial {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RotaryDialResponse` is never constructed
[INFO] [stdout]   --> src/ui/widgets/rotary_dial.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct RotaryDialResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `show` is never used
[INFO] [stdout]    --> src/ui/widgets/rotary_dial.rs:121:8
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub fn show(dial: &RotaryDial, ui: &mut egui::Ui) -> RotaryDialResponse {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `right_clicked` is never read
[INFO] [stdout]   --> src/ui/widgets/param_knob.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ParamKnobResponse {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub right_clicked: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `spectral_centroid`, `org_root`, `max_speed`, and `melodic_direction` are never read
[INFO] [stdout]   --> src/app.rs:91:16
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub(crate) struct WellDispatchEntry {
[INFO] [stdout]    |                   ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub(crate) spectral_centroid: f32,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 92 |     pub(crate) seq_pitch_hz: f32,
[INFO] [stdout] 93 |     pub(crate) org_root: u8,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 94 |     pub(crate) max_speed: f32,
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout] 95 |     pub(crate) melodic_direction: bool,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WellDispatchEntry` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Error` is never constructed
[INFO] [stdout]    --> src/app.rs:108:5
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub enum AudioStatus {
[INFO] [stdout]     |          ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 108 |     Error(String),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `egui::Button::<'a>::rounding`: Renamed to `corner_radius`
[INFO] [stdout]    --> src/ui/panels/controls.rs:160:30
[INFO] [stdout]     |
[INFO] [stdout] 160 | ...                   .rounding(10.0)
[INFO] [stdout]     |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `egui::Button::<'a>::rounding`: Renamed to `corner_radius`
[INFO] [stdout]    --> src/ui/panels/controls.rs:206:26
[INFO] [stdout]     |
[INFO] [stdout] 206 |                         .rounding(10.0)
[INFO] [stdout]     |                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `egui::Context::screen_rect`: screen_rect has been split into viewport_rect() and content_rect(). You likely should use content_rect()
[INFO] [stdout]    --> src/app_video.rs:144:26
[INFO] [stdout]     |
[INFO] [stdout] 144 |         let screen = ctx.screen_rect();
[INFO] [stdout]     |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]    --> src/organism/interaction.rs:901:13
[INFO] [stdout]     |
[INFO] [stdout] 901 |         let result = node_well_force(&nodes, visitor_pos, 0.005, 0.004);
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prod_id`
[INFO] [stdout]     --> src/reactor/mod.rs:1110:13
[INFO] [stdout]      |
[INFO] [stdout] 1110 |         let prod_id = reactor.register(Box::new(StubProducer::new()));
[INFO] [stdout]      |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prod_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `proc_id`
[INFO] [stdout]     --> src/reactor/mod.rs:1111:13
[INFO] [stdout]      |
[INFO] [stdout] 1111 |         let proc_id = reactor.register(Box::new(StubProcessor::new()));
[INFO] [stdout]      |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_proc_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `rising_edge_tick` is assigned to, but never used
[INFO] [stdout]    --> src/dsp/organism_dsp_tests.rs:807:13
[INFO] [stdout]     |
[INFO] [stdout] 807 |         let mut rising_edge_tick = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_rising_edge_tick` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev_before`
[INFO] [stdout]    --> src/dsp/organism_dsp_tests.rs:837:17
[INFO] [stdout]     |
[INFO] [stdout] 837 |             let prev_before = org.trigger_prev[0];
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_before`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `rising_edge_tick` is never read
[INFO] [stdout]    --> src/dsp/organism_dsp_tests.rs:819:17
[INFO] [stdout]     |
[INFO] [stdout] 819 |                 rising_edge_tick = tick;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `current_scale_name`
[INFO] [stdout]   --> src/ui/panels/controls.rs:32:10
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let (current_scale_name, current_scale_idx, scale_weights, scale_hue, scale_groups_data) = {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_scale_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max_name_len`
[INFO] [stdout]    --> src/ui/panels/taxonomy_panel.rs:313:25
[INFO] [stdout]     |
[INFO] [stdout] 313 |                     let max_name_len = data
[INFO] [stdout]     |                         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_name_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `radius`
[INFO] [stdout]    --> src/ui/widgets/circle_of_fifths.rs:231:46
[INFO] [stdout]     |
[INFO] [stdout] 231 | fn recover_pc_from_point(center: egui::Pos2, radius: f32, pt: egui::Pos2) -> u8 {
[INFO] [stdout]     |                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_radius`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mc20_panel_ref`
[INFO] [stdout]     --> src/app.rs:1092:41
[INFO] [stdout]      |
[INFO] [stdout] 1092 |             let (midi_port, midi_armed, mc20_panel_ref, cc_learn_ref) = {
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mc20_panel_ref`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cc_learn_ref`
[INFO] [stdout]     --> src/app.rs:1092:57
[INFO] [stdout]      |
[INFO] [stdout] 1092 |             let (midi_port, midi_armed, mc20_panel_ref, cc_learn_ref) = {
[INFO] [stdout]      |                                                         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cc_learn_ref`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cr_state` and `cr_phrase_len` are never read
[INFO] [stdout]   --> src/module/command.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub struct DspAnalysis {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub cr_state: u8,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 87 |     /// Number of notes in captured call-response phrase
[INFO] [stdout] 88 |     pub cr_phrase_len: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DspAnalysis` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `satisfaction` and `current_logic_density` are never used
[INFO] [stdout]    --> src/organism/module/mod.rs:368:12
[INFO] [stdout]     |
[INFO] [stdout] 125 | impl OrganismModule {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 368 |     pub fn satisfaction(&self) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 393 |     pub fn current_logic_density(&self) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/reactor/mod.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct SignalEvent {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 55 |     pub tick: u64,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 56 |     pub src_module: ModuleId,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 57 |     pub src_port: PortId,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 58 |     pub dst_module: ModuleId,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 59 |     pub dst_port: PortId,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 60 |     pub signal_type: SignalType,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 61 |     pub value_str: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SignalEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `keys` and `organism_params` are never used
[INFO] [stdout]   --> src/param_registry.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl ParamRegistry {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn keys(&self) -> impl Iterator<Item = &String> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn organism_params(&self, org_id: u32) -> Option<&[String]> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `all` is never used
[INFO] [stdout]    --> src/tuning/scale.rs:161:12
[INFO] [stdout]     |
[INFO] [stdout]  24 | impl ScaleRegistry {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn all(&self) -> &[ScaleMode] {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `available_ports` is never read
[INFO] [stdout]    --> src/audio/midi_bus.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub struct MidiBus {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 113 |     available_ports: Vec<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `available_ports` and `refresh_ports` are never used
[INFO] [stdout]    --> src/audio/midi_bus.rs:190:12
[INFO] [stdout]     |
[INFO] [stdout] 118 | impl MidiBus {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 190 |     pub fn available_ports(&self) -> &[String] {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub fn refresh_ports(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rms_variance` is never used
[INFO] [stdout]    --> src/dsp/cell/osc_cell.rs:530:8
[INFO] [stdout]     |
[INFO] [stdout] 530 |     fn rms_variance(values: &[f32]) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cached_rotation` is never read
[INFO] [stdout]    --> src/dsp/cell/logic_seq_cell.rs:193:5
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub struct LogicSeqCell {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 193 |     cached_rotation: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_empty` and `len` are never used
[INFO] [stdout]   --> src/dsp/cell/sample_cell.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 54 | impl SampleData {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 62 |     fn is_empty(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     fn len(&self) -> usize {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `logic_seq_cell_idx` is never read
[INFO] [stdout]   --> src/dsp/organism_dsp.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct OrganismDsp {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 54 |     logic_seq_cell_idx: Option<usize>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `dominant_pc` and `pitch_diversity` are never read
[INFO] [stdout]   --> src/substrate/energy_grid.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct LocalSight {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub dominant_pc: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 46 |     pub pitch_diversity: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `energy_gradient` is never used
[INFO] [stdout]    --> src/substrate/energy_grid.rs:213:12
[INFO] [stdout]     |
[INFO] [stdout]  65 | impl SubstrateGrid {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 213 |     pub fn energy_gradient(&self, x: f32, y: f32) -> [f32; 2] {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `frame_number` is never read
[INFO] [stdout]   --> src/substrate/video.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct FrameBuffer {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub frame_number: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `path` is never read
[INFO] [stdout]   --> src/substrate/video.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct VideoDecoder {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub path: PathBuf,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `taxonomy_panel` is never read
[INFO] [stdout]   --> src/ui/mod.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub struct WorkspaceState {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub taxonomy_panel: panels::taxonomy_panel::TaxonomyPanelState,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `shape_id` is never read
[INFO] [stdout]   --> src/ui/panels/organism_panel.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct OrganismUiState {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub shape_id: u32,         // 0=circle 1=diamond 2=triangle
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tala_id` is never read
[INFO] [stdout]   --> src/ui/panels/controls.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct ControlPanelIds {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 10 |     pub raga_id: ModuleId,
[INFO] [stdout] 11 |     pub tala_id: ModuleId,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ToggleCrListening` is never constructed
[INFO] [stdout]   --> src/ui/panels/mc20.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum Mc20Action {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 23 |     ToggleCrListening(ModuleId),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NQI_COLOR` is never used
[INFO] [stdout]   --> src/ui/panels/taxonomy_panel.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | const NQI_COLOR: egui::Color32 = egui::Color32::from_rgb(0, 200, 220);   // 水 cyan
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SM_COLOR` is never used
[INFO] [stdout]   --> src/ui/panels/taxonomy_panel.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const SM_COLOR: egui::Color32 = egui::Color32::from_rgb(200, 80, 200);   // 土 magenta
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TBA_COLOR` is never used
[INFO] [stdout]   --> src/ui/panels/taxonomy_panel.rs:20:7
[INFO] [stdout]    |
[INFO] [stdout] 20 | const TBA_COLOR: egui::Color32 = egui::Color32::from_rgb(220, 200, 40);  // 木 yellow
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AIR_COLOR` is never used
[INFO] [stdout]   --> src/ui/panels/taxonomy_panel.rs:21:7
[INFO] [stdout]    |
[INFO] [stdout] 21 | const AIR_COLOR: egui::Color32 = egui::Color32::from_rgb(60, 200, 120);  // 火 green
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RDE_COLOR` is never used
[INFO] [stdout]   --> src/ui/panels/taxonomy_panel.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const RDE_COLOR: egui::Color32 = egui::Color32::from_rgb(180, 180, 190); // 金 white/silver
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BG` is never used
[INFO] [stdout]   --> src/ui/panels/taxonomy_panel.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | const BG: egui::Color32 = egui::Color32::from_rgb(10, 10, 16);
[INFO] [stdout]    |       ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LCARS_GOLD` is never used
[INFO] [stdout]   --> src/ui/panels/taxonomy_panel.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const LCARS_GOLD: egui::Color32 = egui::Color32::from_rgb(255, 200, 60);
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LCARS_BLUE` is never used
[INFO] [stdout]   --> src/ui/panels/taxonomy_panel.rs:25:7
[INFO] [stdout]    |
[INFO] [stdout] 25 | const LCARS_BLUE: egui::Color32 = egui::Color32::from_rgb(100, 140, 220);
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LCARS_PEACH` is never used
[INFO] [stdout]   --> src/ui/panels/taxonomy_panel.rs:26:7
[INFO] [stdout]    |
[INFO] [stdout] 26 | const LCARS_PEACH: egui::Color32 = egui::Color32::from_rgb(255, 160, 100);
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DIM` is never used
[INFO] [stdout]   --> src/ui/panels/taxonomy_panel.rs:27:7
[INFO] [stdout]    |
[INFO] [stdout] 27 | const DIM: egui::Color32 = egui::Color32::from_rgb(100, 100, 110);
[INFO] [stdout]    |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `primitive_color` is never used
[INFO] [stdout]   --> src/ui/panels/taxonomy_panel.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn primitive_color(prim: &str) -> egui::Color32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `primitive_element` is never used
[INFO] [stdout]   --> src/ui/panels/taxonomy_panel.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn primitive_element(prim: &str) -> &'static str {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `primitive_label` is never used
[INFO] [stdout]   --> src/ui/panels/taxonomy_panel.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn primitive_label(prim: &str) -> &'static str {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `primary`, `dimensions`, and `value` are never read
[INFO] [stdout]   --> src/ui/panels/taxonomy_panel.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct ClassifiedField {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 67 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 68 |     pub primary: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 69 |     pub dimensions: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 70 |     pub value: Option<String>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ClassifiedField` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/ui/panels/taxonomy_panel.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub struct TaxonomyData {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 76 |     pub source: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 77 |     pub fields: Vec<ClassifiedField>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 78 |     pub distribution: HashMap<String, usize>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 79 |     pub organism_name: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 80 |     pub organism_species: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 81 |     pub organism_cells: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 82 |     pub organism_wiring: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TaxonomyData` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `data` and `scroll_offset` are never read
[INFO] [stdout]   --> src/ui/panels/taxonomy_panel.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct TaxonomyPanelState {
[INFO] [stdout]    |            ------------------ fields in this struct
[INFO] [stdout] 87 |     pub data: Option<TaxonomyData>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 88 |     pub scroll_offset: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_lcars_bracket` is never used
[INFO] [stdout]    --> src/ui/panels/taxonomy_panel.rs:103:4
[INFO] [stdout]     |
[INFO] [stdout] 103 | fn draw_lcars_bracket(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `show_taxonomy_panel` is never used
[INFO] [stdout]    --> src/ui/panels/taxonomy_panel.rs:158:8
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub fn show_taxonomy_panel(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_from_json` is never used
[INFO] [stdout]    --> src/ui/panels/taxonomy_panel.rs:461:8
[INFO] [stdout]     |
[INFO] [stdout] 461 | pub fn load_from_json(json: &str) -> Option<TaxonomyData> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RotaryDial` is never constructed
[INFO] [stdout]  --> src/ui/widgets/rotary_dial.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct RotaryDial {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RotaryDialResponse` is never constructed
[INFO] [stdout]   --> src/ui/widgets/rotary_dial.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct RotaryDialResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `show` is never used
[INFO] [stdout]    --> src/ui/widgets/rotary_dial.rs:121:8
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub fn show(dial: &RotaryDial, ui: &mut egui::Ui) -> RotaryDialResponse {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `right_clicked` is never read
[INFO] [stdout]   --> src/ui/widgets/param_knob.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ParamKnobResponse {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub right_clicked: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `spectral_centroid`, `org_root`, `max_speed`, and `melodic_direction` are never read
[INFO] [stdout]   --> src/app.rs:91:16
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub(crate) struct WellDispatchEntry {
[INFO] [stdout]    |                   ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub(crate) spectral_centroid: f32,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 92 |     pub(crate) seq_pitch_hz: f32,
[INFO] [stdout] 93 |     pub(crate) org_root: u8,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 94 |     pub(crate) max_speed: f32,
[INFO] [stdout]    |                ^^^^^^^^^
[INFO] [stdout] 95 |     pub(crate) melodic_direction: bool,
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WellDispatchEntry` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Error` is never constructed
[INFO] [stdout]    --> src/app.rs:108:5
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub enum AudioStatus {
[INFO] [stdout]     |          ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 108 |     Error(String),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4m 36s
[INFO] running `Command { std: "docker" "inspect" "e491fd926661f0867e4a09c327ccd7bce027841007ffa8aeb612604232fed9f1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e491fd926661f0867e4a09c327ccd7bce027841007ffa8aeb612604232fed9f1", kill_on_drop: false }`
[INFO] [stdout] e491fd926661f0867e4a09c327ccd7bce027841007ffa8aeb612604232fed9f1
